Runtime Template Instantiation for C++

نویسنده

  • Akim Demaille
چکیده

Performance, genericity and flexibility are three valuable qualities for scientific environments that tend to be antagonistic. C++ provides excellent support for both performances and genericity thanks to its support for (class and function) templates. However, a C++ templated library can hardly be qualified as flexible: data of unexpected types cannot enter the system, which hinders user interactions. This paper describes the approach that was taken in the Vcsn platform to add flexibility on top of C++ templates, including runtime template instantiation.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Enhancing DEVS simulation through template metaprogramming: DEVS-MetaSimulator

For several years, the DEVS community has been developing many tools for simulating DEVS models, ranging from local and sequential simulation to massively distributed and parallel simulation. In this paper, we present an innovative approach to local DEVS simulation. By using template metaprogramming, we developed the DEVS-MetaSimulator (DEVS-MS); instead of proposing one simulator meant to be u...

متن کامل

Automatic Template Instantiation in DIGITAL C++

Vol. 10 No. 1 1998 The template facility within the C++ language allows the user to provide a template for a class or function and then apply specific arguments to the template to specify a type or function. The process of applying arguments to a template, referred to as template instantiation, causes specific code to be generated to implement the functions and static data members of the instan...

متن کامل

Abstracting the template instantiation relation in C++

ing the Template Instantiation Relation in C++ Andrew Sutton, Ryan Holeman, Jonathan I. Maletic Department of Computer Science Kent State University Kent Ohio 44242 {asutton, rholeman, jmaletic}@cs.kent.edu

متن کامل

Static interfaces in C++

We present an extensible framework for defining and using “static interfaces” in C++. Static interfaces are especially useful as constraints on template parameters. That is, in addition to the usual template , template definitions can specify that T “isa” Foo, for some static interface named Foo. These “isa-constraints” can be based on either inheritance (named conformance: T publicly ...

متن کامل

Lifting CDCL to Template-Based Abstract Domains for Program Verification

The success of Conflict Driven Clause Learning (CDCL) for Boolean satisfiability has inspired adoption in other domains. We present a novel lifting of CDCL to program analysis called Abstract Conflict Driven Learning for Programs (ACDLP). ACDLP alternates between model search, which performs over-approximate deduction with constraint propagation, and conflict analysis, which performs under-appr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1611.00947  شماره 

صفحات  -

تاریخ انتشار 2016